package org.fujay.langchain4jserver.domain.model.exception;

import org.fujay.langchain4jserver.domain.model.vo.ModelId;

/**
 * 当尝试删除一个正在被使用的模型时抛出此异常。
 */
public class ModelInUseException extends RuntimeException {

    private static final String MESSAGE_TEMPLATE = "模型 ID [%s] 正在被至少一个应用使用，无法删除。";

    public ModelInUseException(ModelId modelId) {
        super(String.format(MESSAGE_TEMPLATE, modelId != null ? modelId.value() : "<null>"));
    }

    public ModelInUseException(ModelId modelId, Throwable cause) {
        super(String.format(MESSAGE_TEMPLATE, modelId != null ? modelId.value() : "<null>"), cause);
    }
}
